package com.tensquare.qa.service.impl;

import com.tensquare.qa.dao.QaDao;
import com.tensquare.qa.pojo.Problem;
import com.tensquare.qa.service.QaService;
import entity.PageResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Service;

@Service
public class QaServiceImpl implements QaService {
    @Autowired
    private QaDao qaDao;

    /**
     * 1.查询最新的问答列表信息
     * @param id    问答id
     * @param page  当前页
     * @param size  页大小
     * @return  问到列表信息
     */
    @Override
    public PageResult<Problem> newlist(String id, int page, int size) {
        //1.1查询分页对象
        Page<Problem> problemPage = qaDao.newlist(id, PageRequest.of(page,size));
        //1.2返回对应的分页信息对象
        return new PageResult<>(problemPage.getTotalElements(),problemPage.getContent());
    }

    /**
     * 2.查询热门的问答列表信息
     * @param id    问答id
     * @param page  当前页
     * @param size  页大小
     * @return  问答信息
     */
    @Override
    public PageResult<Problem> hotlist(String id, int page, int size) {
        //2.1查询分页信息对象
        Page<Problem> problemPage = qaDao.hotlist(id, PageRequest.of(page,size));
        //2.2返回对应的分页信息对象
        return new PageResult<>(problemPage.getTotalElements(),problemPage.getContent());
    }

}
